The subject matter discussed in the background section should not be assumed to be prior art merely as a result of its mention in the background section. Similarly, a problem mentioned in the background section or associated with the subject matter of the background section should not be assumed to have been previously recognized in the prior art. The subject matter in the background section merely represents different approaches.
The transmission and storage of computer data increasingly relies on the use of codecs (coder-decoders) to compress/decompress digital media files to reduce the file sizes to manageable sizes to optimize transmission bandwidth and memory use. Vector quantization is used in many signal compression applications. In general, a vector quantizer maps k-dimensional vectors in a vector space into a finite set of vectors Y={yi:i=1, 2, . . . , N}. Each vector is called a code vector or a codeword and the set of all the codewords is called a codebook. In a codec, the encoder takes an input vector and outputs the index of the codeword that offers the lowest distortion. The lowest distortion is typically found by evaluating the Euclidean distance between the input vector and each codeword in the codebook. Once the closest codeword is found, the index of that codeword is sent through a channel, and is then replaced with the associated codeword. Gain shape vector quantization is a type of vector quantization method that has become widely used in high quality speech coding systems, and is generally used when it is important to preserve the energy of the vector.
Many existing low-delay audio codecs only support a limited number of frame sizes and bitrates, often hard-coding the dimensions and rates of the codebooks they use. This allows careful tuning of the rate allocation to various pieces of the codec, but is not very flexible. This lack of flexibility limits the ability of the codec to adapt to the variable capacity of modern network channels, and to trade off latency for quality and loss robustness. Moreover, with regard to gain shape vector quantization, present methods of determining bit rate allocations for the gain and shape quantizations require the solution of processor-intensive calculations that are not appropriate for use with low-power or fixed-point digital signal processors (DSPs).
What is needed, therefore, is an efficient system for bit allocation and band partitioning for use in an audio codec for gain-shape vector quantization operations.